/****************************************************************************
 *
 *   Copyright (c) 2020-2022 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.43692, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.63074, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.64492, 0.38793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.52816, 0.38311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.32343, 0.37909 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.07094, 0.37573 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.80905, 0.37293 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.57192, 0.37058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.38425, 0.36859 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.25478, 0.3669 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.17091, 0.36547 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.09603, 0.36426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.97046, 0.36331 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71574, 0.36265 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.24168, 0.36237 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.45541, 0.3626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.27161, 0.36349 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.62294, 0.36519 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.46984, 0.36785 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.80878, 0.3716 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.67839, 0.37654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.16223, 0.3827 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.38643, 0.39009 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.50995, 0.3987 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.70698, 0.40852 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.85624, 0.41956 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.04503, 0.43182 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77462, 0.44524 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.01943, 0.45965 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.81267, 0.47468 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.23827, 0.48978 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.41874, 0.50412 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.50245, 0.5167 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.65111, 0.52638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.02545, 0.53209 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.76566, 0.53305 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.96727, 0.52894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.65972, 0.5201 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.79825, 0.5074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.27498, 0.49214 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.94515, 0.47575 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.65714, 0.45958 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.27517, 0.44469 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.68992, 0.43182 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.81858, 0.42139 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.59917, 0.41362 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.98348, 0.40856 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.93096, 0.4062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.40403, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.36385, 0.40959 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.76534, 0.41546 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.55065, 0.42436 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.64153, 0.43659 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.93287, 0.45249 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.29204, 0.4723 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.57086, 0.49587 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.63911, 0.52219 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.44608, 0.54889 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.10127, 0.57214 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.93202, 0.58751 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.45286, 0.5918 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.22806, 0.58472 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.29176, 0.56872 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.85257, 0.54744 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.37925, 0.52423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.91119, 0.50138 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.54268, 0.48022 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.38568, 0.46133 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.55209, 0.4449 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.14738, 0.43084 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.26901, 0.41895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.0058, 0.40897 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.43692, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.48636, 0.37419 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.79076, 0.3703 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.92368, 0.36706 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.92475, 0.36437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.82749, 0.36216 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.66405, 0.36036 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.4688, 0.35894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.27797, 0.35785 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.12484, 0.35708 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.03237, 0.35659 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.00566, 0.35638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02634, 0.35644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04944, 0.35678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00271, 0.3574 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.78931, 0.35837 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.2949, 0.35978 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.39988, 0.36177 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.99569, 0.36453 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.0025, 0.36825 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.38536, 0.37311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.16717, 0.37922 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.43659, 0.38664 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.34766, 0.39532 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.10707, 0.40522 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.05296, 0.41634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.91161, 0.42873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.29546, 0.44253 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.10276, 0.45786 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.30999, 0.47477 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.96202, 0.49311 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.15251, 0.51247 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.0035, 0.53212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.65356, 0.55091 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.25752, 0.56723 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.99071, 0.57915 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.0413, 0.58476 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.57822, 0.58278 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.70152, 0.57302 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.40296, 0.55653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.56425, 0.53534 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.99498, 0.51191 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.48693, 0.48856 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.85653, 0.4671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.96288, 0.44864 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.70522, 0.43373 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.01112, 0.42252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.82445, 0.41487 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.09706, 0.41056 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.78435, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.84253, 0.41088 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.22562, 0.415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88176, 0.42144 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.75156, 0.42992 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.77458, 0.44002 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.91101, 0.451 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.17939, 0.46171 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.69708, 0.47066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.6944, 0.47642 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.47702, 0.47814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.34717, 0.47588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.53225, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.16125, 0.46268 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.71366, 0.45364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.08101, 0.44393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.94359, 0.43402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.30752, 0.42422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.18118, 0.41481 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.57766, 0.40598 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.5177, 0.3979 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.03212, 0.39065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.16302, 0.3843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.96219, 0.37883 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.48636, 0.37419 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.66457, 0.35477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.00718, 0.35272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.1967, 0.35106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.26654, 0.34974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.24023, 0.34871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.13771, 0.34795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.98241, 0.34744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.8041, 0.34718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.63607, 0.34719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.50845, 0.34749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.44066, 0.34809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43458, 0.34901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.46797, 0.35026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.48774, 0.35184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.40476, 0.35376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.09486, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.41026, 0.35891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.20145, 0.36245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.3447, 0.36693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.76898, 0.37256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.47794, 0.37947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.56433, 0.38765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.21208, 0.39702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.32133, 0.40744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.74543, 0.4189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.7917, 0.43152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.26336, 0.44558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.06281, 0.4614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.1902, 0.47923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.71856, 0.49917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.75664, 0.52112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.41484, 0.54471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.7906, 0.56911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.98243, 0.59271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.12519, 0.61299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.41793, 0.62671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.10627, 0.63086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.40585, 0.62378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.40625, 0.60597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.02464, 0.58002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.04233, 0.54963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.19088, 0.51854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.22838, 0.48967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.97302, 0.4648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.29986, 0.44468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.12233, 0.42939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.37537, 0.41858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.00633, 0.41172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.97257, 0.40822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.24158, 0.40746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.79031, 0.40883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.60351, 0.41172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.67645, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.02976, 0.41921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.73864, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.96149, 0.42348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.93859, 0.42262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.9417, 0.41963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.19569, 0.41507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.82251, 0.40973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.83945, 0.40427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.79985, 0.39904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.15494, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.26464, 0.38942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.13735, 0.38485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.75843, 0.38033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.10294, 0.37588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.1457, 0.37156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.86778, 0.36744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.26204, 0.36364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.33816, 0.36023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.12456, 0.35727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.66457, 0.35477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.6, 0.34003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.93767, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.14399, 0.33848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.25115, 0.33807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.27547, 0.33786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.22457, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.10764, 0.33796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.94211, 0.33829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.75364, 0.33883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57154, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42289, 0.34073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.32658, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.28481, 0.34396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.27031, 0.34609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.21174, 0.34855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.98577, 0.35136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.42508, 0.35463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.34508, 0.35855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.58215, 0.36336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.03268, 0.36929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.68498, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.64006, 0.38475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.11452, 0.39404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.58521, 0.40411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.12022, 0.41494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.19215, 0.42677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.60266, 0.44 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.27779, 0.45507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.25483, 0.47232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.64158, 0.49195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.56261, 0.51408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.11166, 0.5387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.33189, 0.56553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.23898, 0.59352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.88286, 0.62038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.41802, 0.64232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.12708, 0.65477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.34879, 0.65406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.32902, 0.63916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.09775, 0.61227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.46589, 0.57784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.12783, 0.54096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.77887, 0.50584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.17892, 0.47516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.15932, 0.45011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.60398, 0.43078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.4313, 0.41666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.58615, 0.40695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.03944, 0.40075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.78846, 0.39719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.85288, 0.39543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.26775, 0.39467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.08277, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.37775, 0.39335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.29013, 0.39151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.0288, 0.38838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.84442, 0.38402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.95805, 0.37893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.49168, 0.37375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.44608, 0.36905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.73281, 0.3651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76679, 0.36192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14832, 0.35932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45678, 0.35707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.68795, 0.35495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.8076, 0.35285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.77199, 0.35073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.53914, 0.3486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.07259, 0.34651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.34494, 0.34454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.34509, 0.34276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.08512, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.6, 0.34003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.09955, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.40239, 0.32851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.59407, 0.32853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.71058, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.76561, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.75716, 0.32961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.68048, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.53826, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34378, 0.33193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.11912, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.89235, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.69382, 0.33618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.54711, 0.3382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.45079, 0.34051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.35417, 0.34311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.13991, 0.34601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.62819, 0.3493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.60793, 0.35318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.88577, 0.35791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.33661, 0.36367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.94419, 0.37053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.82578, 0.37833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.76817, 0.38682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.4917, 0.39579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.97758, 0.40528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.92216, 0.41563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.14458, 0.42735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.60166, 0.4409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.36306, 0.45658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.56005, 0.4745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.32242, 0.49473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.72349, 0.51734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.75817, 0.54233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.37129, 0.56925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.53302, 0.59656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.3335, 0.62106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.04281, 0.63814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.07116, 0.64319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.81274, 0.6338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.46419, 0.61091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.95119, 0.57839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.99865, 0.5414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.26277, 0.50477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.43038, 0.47187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.25696, 0.44441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.56657, 0.42277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.24292, 0.40646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.22465, 0.39463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50282, 0.38627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.11324, 0.38042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.1197, 0.37624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.59424, 0.37301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.61087, 0.37015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.26419, 0.36715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.70173, 0.36366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.13443, 0.35954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.79604, 0.35498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.86505, 0.35039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.40132, 0.34625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33855, 0.34288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.46956, 0.34036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.18046, 0.33859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.90486, 0.33735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.68084, 0.33638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.484, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.25872, 0.33459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.94704, 0.33363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.50003, 0.33263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.8754, 0.33163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.03565, 0.33067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.95542, 0.32982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.6338, 0.32915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.09955, 0.32871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.0591, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.3054, 0.32036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.45567, 0.3208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.55388, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.6159, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.63438, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.59333, 0.32409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.48136, 0.32519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29784, 0.32642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.05423, 0.3278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.77482, 0.32938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.49602, 0.33118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.25733, 0.33321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.07805, 0.33547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.92435, 0.33791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.68394, 0.34059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.16819, 0.34361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.14886, 0.34717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.41665, 0.35151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.84074, 0.35677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.41452, 0.36292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.27967, 0.36974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.28256, 0.37691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.90325, 0.38428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.2119, 0.39198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.92155, 0.40046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.87738, 0.41026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.05907, 0.42182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.54894, 0.43532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.47933, 0.45067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.97034, 0.46769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.07602, 0.48621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.76504, 0.50613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.95321, 0.5272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.5816, 0.54847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.71067, 0.56784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.58372, 0.58204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.6072, 0.58751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.22714, 0.58196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.75949, 0.56543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.27999, 0.54026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.62885, 0.51015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.49677, 0.47897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.52579, 0.44985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.38381, 0.42469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.80708, 0.4042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.62031, 0.38825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.74217, 0.37618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.17724, 0.36717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.99242, 0.36043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.28064, 0.35527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.12753, 0.35114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.60356, 0.34762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.79151, 0.34433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.82875, 0.34098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.92028, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.29254, 0.33387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.10777, 0.3305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39751, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.05804, 0.3255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.0953, 0.32408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.24856, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.52218, 0.32282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.94335, 0.32258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.46405, 0.32236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00562, 0.32209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.49739, 0.32175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.88822, 0.32137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.13649, 0.32096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.20054, 0.32058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.04463, 0.32027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.65642, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.0591, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.41813, 0.31387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.59379, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.68135, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.73594, 0.31598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.77986, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.80486, 0.31817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.78738, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.7043, 0.32075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.54203, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.30097, 0.32371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.99964, 0.32536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.67661, 0.32715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.38109, 0.32908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.14503, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.94335, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.66396, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.11134, 0.33818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.0496, 0.3413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.26864, 0.34512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.64852, 0.3497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.2055, 0.35493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.89006, 0.36049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.33481, 0.36609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.75686, 0.37163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.80415, 0.37735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.21826, 0.38375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.86659, 0.39137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.73487, 0.4006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.89549, 0.41148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.46273, 0.42374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.54089, 0.4369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.17935, 0.45047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.35825, 0.46407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.02048, 0.47738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.13986, 0.48985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.79301, 0.50044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.19751, 0.50757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.69123, 0.50953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.65442, 0.50511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.40625, 0.49412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.1189, 0.47757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.77665, 0.45735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.1847, 0.43566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.02004, 0.41455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.90924, 0.39548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.51115, 0.37926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.581, 0.36608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.00048, 0.35567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.76983, 0.34758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.96826, 0.34129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.69834, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.04137, 0.33245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.05086, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.78942, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.38047, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.02499, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.95202, 0.3189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.3252, 0.31672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.16806, 0.31499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.64388, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.32376, 0.31315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.08215, 0.31295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.04819, 0.31303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.2381, 0.31322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.58015, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.97274, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.3332, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.60995, 0.31352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.76473, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.75453, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.53525, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.08393, 0.31357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.41813, 0.31387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.13354, 0.30972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.23375, 0.31039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.24561, 0.31126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.23766, 0.3123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.24227, 0.31349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.25425, 0.3148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.24584, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18466, 0.31764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.046, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.82061, 0.32071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.52166, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.1879, 0.32403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.8726, 0.32575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.61146, 0.3275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.3787, 0.3293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.05718, 0.33123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.44665, 0.33344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.31352, 0.33614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.46121, 0.33944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.79465, 0.34332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.36127, 0.34757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.64191, 0.35184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.90269, 0.35585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.06435, 0.3596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.80562, 0.36337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.89625, 0.36768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.21454, 0.37303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.73645, 0.37971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51138, 0.38771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.63097, 0.39663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.19284, 0.40584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.26769, 0.41463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.88758, 0.42245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.06698, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.84569, 0.43397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.3257, 0.43727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.68061, 0.43854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.13803, 0.43737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.95024, 0.43333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.36188, 0.42627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.56866, 0.41642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66291, 0.40447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.58374, 0.3914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.10515, 0.37821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.88295, 0.36574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.5481, 0.35458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.80594, 0.34504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.49787, 0.33714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.60484, 0.33072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.20014, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.38001, 0.32145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.21104, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.7249, 0.31558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.96215, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.0306, 0.31164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.12563, 0.31 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.48031, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26644, 0.30729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.48956, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.9216, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.263, 0.3058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.74457, 0.30602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.50366, 0.30644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.54762, 0.30692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.7843, 0.30737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.09169, 0.30775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37607, 0.30804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.58517, 0.30828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.68381, 0.30848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.62798, 0.30868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.36578, 0.30891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.86381, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.13354, 0.30972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.163, 0.30749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.19468, 0.30828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.12925, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.05035, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.00358, 0.31163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.99022, 0.31298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.98089, 0.3144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93541, 0.31585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.81914, 0.31731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.61477, 0.31879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.3316, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.00799, 0.32176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.69699, 0.32322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.4304, 0.32466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.17428, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.80337, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.11673, 0.32963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.89282, 0.33198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.96038, 0.33484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.2582, 0.3381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.13344, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.99886, 0.34456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.03134, 0.34717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.90126, 0.34934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.31992, 0.35139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.07707, 0.35379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.05074, 0.35698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.20069, 0.36118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.5555, 0.36634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.19516, 0.37206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.22841, 0.3777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.76873, 0.38258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.91971, 0.38616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.77652, 0.3882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.4367, 0.38878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.0056, 0.38817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.59252, 0.38659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.30913, 0.38416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.2813, 0.38078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.66518, 0.37631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.63953, 0.37067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.35429, 0.36402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.85212, 0.35669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.01185, 0.34908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.558, 0.34157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.14141, 0.33451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.45208, 0.32813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.30507, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66018, 0.31785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.5762, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.1352, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.38518, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.3355, 0.30607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.0046, 0.30451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.48219, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.95283, 0.30228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.64834, 0.3015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.25271, 0.30095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.71652, 0.30066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.87783, 0.30067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.98098, 0.30095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.2707, 0.30146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.8911, 0.30211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.84421, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.02363, 0.30349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.29203, 0.3041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.54629, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.73202, 0.30511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.81484, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.7483, 0.30594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.47223, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.94234, 0.30686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.163, 0.30749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.45454, 0.30704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.43879, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.30865, 0.30899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.16399, 0.31015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.06646, 0.31141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.027, 0.31273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.01644, 0.31407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98714, 0.3154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.89433, 0.31671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.71307, 0.31797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.44965, 0.31921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.14181, 0.3204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.83957, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.56614, 0.32266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.27584, 0.32383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.8361, 0.32518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.05115, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.72034, 0.32897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.70578, 0.33149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.98357, 0.33423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.33717, 0.33686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.03281, 0.33901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.81359, 0.34051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.38129, 0.34142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.47464, 0.34207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.89456, 0.34286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.51459, 0.34417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28367, 0.3462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.22372, 0.34888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.42045, 0.35189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.00675, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.1412, 0.35683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.98772, 0.35781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.69956, 0.35756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.40526, 0.35627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.19508, 0.35428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.11573, 0.35195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.1858, 0.34948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.43436, 0.34687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.94376, 0.34401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.13774, 0.34076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.63921, 0.33709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.45411, 0.33305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.37925, 0.32877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.65813, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.07637, 0.32008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.33518, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.24145, 0.31218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74104, 0.30881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.87921, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.72408, 0.30341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.30721, 0.3014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.6189, 0.29983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.65729, 0.29865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.49214, 0.29782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.29102, 0.29726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27609, 0.29694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.37368, 0.29684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.61751, 0.29697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.58474, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.52093, 0.29788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.67653, 0.2986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.19984, 0.29943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.09188, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.24016, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.49915, 0.30208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.75887, 0.30287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.96108, 0.30361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.06894, 0.30429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.03124, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.77848, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.25444, 0.30626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.45454, 0.30704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.94139, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.91516, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.74935, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.55988, 0.31158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.42672, 0.3128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.37331, 0.31402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.37247, 0.31521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36901, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.30678, 0.31736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.15209, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.9075, 0.31921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.60915, 0.32004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.30229, 0.32083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.00009, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.64594, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.10433, 0.3237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.19163, 0.32522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.73508, 0.32716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.63446, 0.32943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.09762, 0.33176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.32984, 0.33381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.83994, 0.33525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.3609, 0.33592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.62432, 0.33589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.39028, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.46757, 0.335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.73043, 0.33482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.13076, 0.33512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.70101, 0.33585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.54506, 0.33681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.81972, 0.33765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.71205, 0.33801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.41681, 0.33764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.11347, 0.33648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.94038, 0.3347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.97142, 0.33257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.20985, 0.33037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.61272, 0.32828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.14344, 0.32632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.1711, 0.32443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.21524, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.81838, 0.3204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.84065, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26362, 0.31575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.22896, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -1.00387, 0.31056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.15969, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04941, 0.30535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.61285, 0.30295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.88653, 0.30079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.9295, 0.2989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.76324, 0.29732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.36549, 0.29606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.7183, 0.29514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.87146, 0.29455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97063, 0.29424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21968, 0.2942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.21055, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.27606, 0.29479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.09713, 0.29538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.08848, 0.29611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.03346, 0.29699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.41156, 0.29798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.25089, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.3749, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.63796, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.92663, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17748, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.34806, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.38009, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.19373, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.71956, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.94139, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.5409, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.55716, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.40253, 0.31332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.20657, 0.31452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.06804, 0.31567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.02512, 0.31675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.05464, 0.31772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.0944, 0.31856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.07597, 0.31927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.95498, 0.31986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.72799, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.42733, 0.32081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.09214, 0.32125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.72647, 0.32175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.26682, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.58119, 0.32342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.5048, 0.32482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.89764, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.69842, 0.32865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.04663, 0.33064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.18964, 0.33224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.51428, 0.33314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.77603, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.73224, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.16216, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.88743, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79568, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.85768, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.12836, 0.32697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.73147, 0.32651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.83581, 0.32606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.63273, 0.32541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.31818, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.07296, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.03506, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.2702, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.76092, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.43105, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.20328, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.93588, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.90167, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.53552, 0.31067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.68448, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.29426, 0.30803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45953, 0.30653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.39749, 0.30489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64317, 0.30316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.48264, 0.30139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.05911, 0.29966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.4043, 0.29803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.5738, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.58672, 0.29527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.41666, 0.29422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.03586, 0.29345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47626, 0.29298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85883, 0.2928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.36227, 0.2929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.1409, 0.29325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.23663, 0.29381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.53929, 0.29452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.82568, 0.29538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.85933, 0.29636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.49277, 0.29749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.28532, 0.29874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.37627, 0.3001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.64215, 0.30152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.96989, 0.30296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29045, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.55355, 0.30576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.69242, 0.30708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.61668, 0.30836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.24307, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.5409, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.15894, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.2836, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.20415, 0.31747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.05783, 0.31871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.9594, 0.31979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.96216, 0.32069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.0491, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15332, 0.32195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.19498, 0.32232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.11793, 0.32256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.9098, 0.3227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.59584, 0.32279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.20759, 0.32291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.74185, 0.32315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.13346, 0.32365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.26043, 0.3245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.98227, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.19421, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.87323, 0.32921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.9037, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.97447, 0.33206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.1275, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.13608, 0.33214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.77986, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.86068, 0.32922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.22487, 0.32717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.78907, 0.32512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.55513, 0.32324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.60383, 0.32162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.07121, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.12164, 0.319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.9299, 0.3178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.67287, 0.31653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.51849, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.60069, 0.31362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.98573, 0.31208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.65364, 0.31061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.51681, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.52369, 0.30815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.50972, 0.30719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.38469, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.00864, 0.30564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.22897, 0.30492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.97067, 0.30415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.29328, 0.30328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37748, 0.30225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.44616, 0.30107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.33154, 0.2998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.89354, 0.2985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.26839, 0.29721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.5118, 0.296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.64718, 0.29491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.65222, 0.29398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49656, 0.29328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19822, 0.29285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.85306, 0.29271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.61021, 0.29285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.60097, 0.29325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.85962, 0.29387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.28499, 0.29464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.67203, 0.29555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.80003, 0.2966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.52565, 0.29783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.82809, 0.29923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.21073, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.46671, 0.30252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.83073, 0.30431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.22867, 0.30613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.60152, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.87414, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.94708, 0.31138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.72434, 0.31303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.15894, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.70173, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.00621, 0.32089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.0784, 0.32246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.05342, 0.32376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.05451, 0.32478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.14704, 0.32551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32172, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51106, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.62778, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.60513, 0.32624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.41981, 0.3261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.08648, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.6271, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.03262, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.24059, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.14409, 0.32709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.63007, 0.32825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.62942, 0.32971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.15576, 0.33123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.68469, 0.33252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.71422, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.7206, 0.3333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.48863, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.81895, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.54351, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54707, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.78834, 0.32382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.30603, 0.32139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.20275, 0.3192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.61562, 0.31727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.69079, 0.31559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.57396, 0.3141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.41331, 0.31272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.35771, 0.3114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.53547, 0.31011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.01838, 0.30886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.79557, 0.30768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.21662, 0.30664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.12401, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.98681, 0.30503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.77342, 0.30448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.36657, 0.30404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.62352, 0.30367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.45997, 0.30328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.90944, 0.30279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.12064, 0.30214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.29122, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.57864, 0.30032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.04488, 0.29926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.3353, 0.29817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.61873, 0.2971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.83689, 0.2961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.97777, 0.29522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01513, 0.29453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.95773, 0.29407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.8779, 0.2939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.89353, 0.29402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.10866, 0.2944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.54529, 0.295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.10839, 0.29576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.61117, 0.29667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.85045, 0.29773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.68824, 0.299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.09349, 0.30051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.12879, 0.30226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.09877, 0.30421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.48653, 0.3063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.95631, 0.30849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.4409, 0.3107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.85843, 0.3129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.10394, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.07246, 0.31713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.70173, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.09527, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.64516, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.94812, 0.32777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.12471, 0.32916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29434, 0.33014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52702, 0.33072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82064, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.11224, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.31383, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.35252, 0.33067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.19441, 0.33042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.84114, 0.3302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.30285, 0.33008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.56477, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.5693, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.22687, 0.33136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.4525, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.21148, 0.33375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.44773, 0.33496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.38948, 0.33582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.4166, 0.33606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.30957, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.85964, 0.3343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.88946, 0.33237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26883, 0.32994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.93095, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.88285, 0.32445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.19899, 0.32175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.99653, 0.31927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.40439, 0.31707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.54341, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.52666, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.47202, 0.31216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.50766, 0.31094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.75491, 0.30983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.29191, 0.30882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.1223, 0.3079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.82381, 0.30708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.64795, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.41991, 0.30588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.12963, 0.30552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.68504, 0.3053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.96064, 0.30518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.872, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.43385, 0.30482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.76582, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.03912, 0.30375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.39694, 0.30291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.89973, 0.30195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.52612, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.21923, 0.29989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.06081, 0.29891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31523, 0.29801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52649, 0.29727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.6986, 0.29675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.88314, 0.2965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.16713, 0.29654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.62534, 0.29685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.26366, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.98922, 0.29806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.63072, 0.29889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.00159, 0.2999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.96963, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.49477, 0.30267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.62126, 0.30448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.43929, 0.30657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.0444, 0.30887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.48214, 0.31132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.06633, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62242, 0.31644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.04513, 0.31901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.22704, 0.32151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.09527, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30638, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14938, 0.33091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.75104, 0.33289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20532, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61308, 0.33537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.03782, 0.33589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.48111, 0.33606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.88845, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.17882, 0.33583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.28004, 0.33564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.1509, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.77994, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.16398, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.28146, 0.33592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.07917, 0.33658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.48402, 0.33755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.43716, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.93576, 0.33993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.93828, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.01846, 0.3412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.08358, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.9018, 0.33967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.26871, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.03131, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.10174, 0.33272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.46424, 0.32984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.17199, 0.32696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.32889, 0.32419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.05952, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.48039, 0.31936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.68748, 0.31741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.76475, 0.31577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.80338, 0.31442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.9119, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.20277, 0.31238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.75816, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.40325, 0.3109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.33267, 0.31031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.11935, 0.30983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.83515, 0.3095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.48761, 0.30933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.01108, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.30296, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.28624, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.96289, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.42496, 0.30912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.81427, 0.30856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.25489, 0.30775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.80232, 0.30677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.43882, 0.3057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.10972, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.76927, 0.30356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40374, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.02042, 0.30177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.38301, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.84042, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.40954, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.13513, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.0038, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.92009, 0.30186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.7237, 0.30254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.24217, 0.3034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.34966, 0.3045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.00015, 0.30591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.22361, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.09659, 0.30972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.70875, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.14389, 0.31463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.51903, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.1937, 0.32018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78017, 0.32304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.1764, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30638, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.35619, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.51367, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.45658, 0.33753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.24448, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.94714, 0.34017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.60979, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.23156, 0.34097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.76717, 0.34103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.14807, 0.34105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.30942, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.20772, 0.34138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.82086, 0.34182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.13264, 0.34249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.11351, 0.34344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.7124, 0.34467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.86937, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.54788, 0.34762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.77379, 0.34889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.3385, 0.34957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.58956, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.73071, 0.3483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.51561, 0.34633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.74506, 0.34372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.29268, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.11282, 0.33763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.23586, 0.33455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.75229, 0.3316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.78628, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.46446, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.89167, 0.32415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.14504, 0.32226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.28764, 0.32069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.39053, 0.31944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.5451, 0.31847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.85306, 0.31773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.39655, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.79374, 0.31673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.74947, 0.3164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.54298, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.24206, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.86755, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.37968, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.70226, 0.31653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.77153, 0.31677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.58143, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.19729, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.72762, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.27101, 0.31521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.87285, 0.31412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.51745, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.1546, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.7369, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.24197, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.66839, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.01469, 0.30782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.7373, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.61763, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.64064, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.77057, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.90438, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.8878, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.56, 0.30865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.80287, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.56927, 0.31059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.88125, 0.31208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.80696, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.43274, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.84465, 0.31859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.12461, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.64362, 0.32414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.37, 0.32709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.96461, 0.33004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.35619, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.3174, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.78245, 0.3396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.07472, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.21836, 0.34345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.24626, 0.34465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.17747, 0.34545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.00208, 0.34598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.68097, 0.34643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.15872, 0.34694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.38094, 0.34765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.30587, 0.34862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.90421, 0.34991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.14864, 0.35152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.00136, 0.35347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.41094, 0.35569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.32662, 0.35804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.72991, 0.36021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.67255, 0.3618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.69865, 0.36238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.14935, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.40151, 0.35968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1951, 0.35665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.33894, 0.35303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.73448, 0.34921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.37435, 0.3455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.32562, 0.34207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.70428, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.64529, 0.33623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.2738, 0.33382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.68643, 0.33173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.94991, 0.32997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.1163, 0.32855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.24432, 0.32746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.41159, 0.32668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.70783, 0.32617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.21064, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.04211, 0.32575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.06501, 0.32574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.91202, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.64256, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.28601, 0.32628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.82579, 0.32667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.21266, 0.3271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.39914, 0.32745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.37441, 0.3276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.17772, 0.3274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.88102, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.55143, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.2184, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.86546, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.44805, 0.32191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.92148, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.26005, 0.31945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.45771, 0.31845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.51565, 0.31765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.5687, 0.31707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.79797, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.15478, 0.31648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.57759, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.95094, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.12246, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.94185, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.30167, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.16, 0.3172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.53841, 0.31821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.50258, 0.31962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.13827, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.53341, 0.32356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.77084, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.07058, 0.32864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.9131, 0.33144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.68244, 0.33429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.3174, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.29156, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.03409, 0.34416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.64995, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.13355, 0.34811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.48376, 0.3496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.69237, 0.35084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.73615, 0.35196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.57671, 0.35315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.1672, 0.35454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.46155, 0.35628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.42002, 0.35843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.00798, 0.36104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.18878, 0.36413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.91665, 0.36763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.13806, 0.37141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.80838, 0.3752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.92447, 0.37852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.56326, 0.38077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.09422, 0.38139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.77599, 0.38006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17417, 0.37692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.01789, 0.37248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.12776, 0.36744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.43338, 0.36238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.9602, 0.35771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.80184, 0.35362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.08888, 0.35014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.95937, 0.34722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.535, 0.34479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.90796, 0.34278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.14228, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.2877, 0.33992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.39762, 0.33904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.53961, 0.33851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.79115, 0.33829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.22167, 0.33834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.1291, 0.33859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.26308, 0.33897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.2172, 0.33944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.04008, 0.33996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.76466, 0.34053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.39239, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.89764, 0.34171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.24858, 0.34215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.43087, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.45889, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.36724, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.18815, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.93033, 0.33916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.57278, 0.33777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.07573, 0.33639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.39984, 0.33511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.52098, 0.33397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.43382, 0.33299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.14626, 0.33217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.3259, 0.33148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.95537, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.68986, 0.3303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.4377, 0.32964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.06682, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.42457, 0.32805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.37245, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.81864, 0.32674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.73373, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.14623, 0.32677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.1247, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.75637, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.13022, 0.33018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.32803, 0.33209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.42266, 0.3343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.52026, 0.33671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.44163, 0.33924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.29156, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.37225, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.34903, 0.35045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.23968, 0.35258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.01853, 0.35461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.65968, 0.35656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.13298, 0.35852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.40157, 0.36059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.42267, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.15083, 0.36571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.54173, 0.36903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.55349, 0.37299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.14429, 0.37764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.26743, 0.38296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.86811, 0.38886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.88883, 0.39508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.28922, 0.40115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.08142, 0.40632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.37094, 0.40967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.62082, 0.41041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.5787, 0.4082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.16394, 0.40338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.09861, 0.39684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.2198, 0.38965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.48612, 0.38266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.95149, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.72848, 0.37112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.95484, 0.3668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.76714, 0.36334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.28297, 0.36062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.59285, 0.35851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.76294, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.8461, 0.35581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.89511, 0.35515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.97058, 0.35489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.13841, 0.35502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.45779, 0.35546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.03405, 0.35614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.33136, 0.35696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.45708, 0.35785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.44816, 0.35876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.33602, 0.35964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.13263, 0.36046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.82878, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.40383, 0.36166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.83931, 0.36186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.12714, 0.36169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.26747, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.25834, 0.36028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.0853, 0.35923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.71849, 0.35813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.11937, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.25312, 0.35616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.09965, 0.35538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.65907, 0.35469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.95176, 0.35403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.01796, 0.35329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.07879, 0.35236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.24464, 0.35112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.35215, 0.34951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.24942, 0.34756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.78408, 0.3454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.83368, 0.34326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.32885, 0.34136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.26023, 0.33989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.66969, 0.33895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.63263, 0.3386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.23878, 0.3388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.57712, 0.33952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.72691, 0.34068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.75507, 0.34222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.71746, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.33854, 0.3461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.37225, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.61028, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.77678, 0.36071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.88704, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.90515, 0.36539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.79165, 0.36807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.50298, 0.37109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.9918, 0.37457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.20841, 0.37864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.10232, 0.38347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.62322, 0.3892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.72003, 0.39594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.33807, 0.40375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.41569, 0.4126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.8844, 0.42232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.67828, 0.43247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.75865, 0.44223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.15512, 0.45038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.01062, 0.45545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39923, 0.45626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.70376, 0.45246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.52903, 0.44481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.59416, 0.43484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.75938, 0.42415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.01601, 0.414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.44565, 0.40507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.17671, 0.39764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.35114, 0.39168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.1029, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.54592, 0.3835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.77041, 0.38089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.84613, 0.37905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.83045, 0.37789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.77708, 0.37731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.74129, 0.37726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.77858, 0.37768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.93747, 0.37848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.74998, 0.37955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.27437, 0.38079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.64798, 0.38209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.89591, 0.38336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.04316, 0.38454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.10344, 0.38558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.07431, 0.38644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.93947, 0.38709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.67481, 0.38749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.25366, 0.38763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.64815, 0.38756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.82694, 0.38737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.7525, 0.38718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.38158, 0.38709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.6703, 0.38718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.58289, 0.38744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.10131, 0.38779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.23322, 0.38804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.0176, 0.38796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.52861, 0.3873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.12228, 0.38582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.78831, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.29835, 0.38001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.47861, 0.37592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.18066, 0.37145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.30531, 0.36701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.81372, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.72354, 0.35952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.09494, 0.35685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.01264, 0.35497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.56926, 0.35385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.85284, 0.35341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.93955, 0.35358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.89141, 0.35426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.7578, 0.35539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.42108, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.61028, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.99599, 0.37643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.31646, 0.37848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.59977, 0.38107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.8073, 0.38425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.89519, 0.38809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.81453, 0.3927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.51227, 0.39824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.93218, 0.40488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.01535, 0.41282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.69965, 0.42226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.91779, 0.43337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.5944, 0.44627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.64421, 0.46092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.97515, 0.47703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.50301, 0.49382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.18444, 0.50986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.06913, 0.52297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.3534, 0.53067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.60662, 0.53111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.36057, 0.52406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.48975, 0.51116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.7161, 0.49507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.93468, 0.47835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.17882, 0.46278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.56246, 0.44926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.23161, 0.43807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.33359, 0.42913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.00099, 0.42218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.34521, 0.41692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.45612, 0.41307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.40578, 0.41039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.25415, 0.40869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.05462, 0.40784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.85723, 0.4077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.70816, 0.40816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.64611, 0.4091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.30255, 0.41038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.12696, 0.41187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.83096, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.42781, 0.415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.93195, 0.41647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.35088, 0.41781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.67982, 0.41902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.90024, 0.42012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.98137, 0.42117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.88295, 0.42225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.55736, 0.42347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.95085, 0.42496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.00469, 0.42684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.65763, 0.42919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.85113, 0.432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53783, 0.43514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.69306, 0.43827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.32857, 0.44092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.50587, 0.44247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.34537, 0.44229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.97505, 0.43993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.23701, 0.43527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.21367, 0.42862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.70759, 0.42063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.58068, 0.4121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.76657, 0.40376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.26547, 0.39618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.12811, 0.38966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.43644, 0.38434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.28608, 0.38021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.77281, 0.37719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.98358, 0.37517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.99171, 0.37403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.85591, 0.37367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.62216, 0.37399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.32743, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.99599, 0.37643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.45961, 0.40751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.91203, 0.40986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.3384, 0.41322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.70135, 0.41768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.95801, 0.42336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.05962, 0.43044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.95155, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.57305, 0.44974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.8565, 0.46254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.72547, 0.47789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.09169, 0.49611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.85175, 0.51746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.88583, 0.54196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.06344, 0.56914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.26501, 0.59765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.4294, 0.62479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.62851, 0.64645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.86055, 0.65804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.55398, 0.65649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.88054, 0.64221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.36484, 0.61889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.74664, 0.59144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.9791, 0.56397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.15553, 0.53899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.43239, 0.51759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.97851, 0.49995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.94961, 0.48581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.47885, 0.47472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.67562, 0.46621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.62815, 0.45984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.4078, 0.45523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.07354, 0.4521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.67574, 0.45019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.25842, 0.4493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.85952, 0.44923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.50975, 0.44981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.23096, 0.45089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.96476, 0.45231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.07386, 0.45394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.09804, 0.45568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.03923, 0.45749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.89425, 0.45938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.65055, 0.46138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.28377, 0.46361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.75713, 0.46621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.02199, 0.46937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.01897, 0.47331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.679, 0.47822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.92467, 0.48431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.6727, 0.49165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.83902, 0.50018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.34858, 0.50953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.15209, 0.51898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.25046, 0.52735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.72311, 0.53313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.7482, 0.53477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.40304, 0.53128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.40898, 0.52265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.96524, 0.5099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.8456, 0.49474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.92951, 0.47891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.19439, 0.46377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.68856, 0.45019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.50144, 0.43856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.73989, 0.42897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.51216, 0.42132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.91824, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.04484, 0.41109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.96354, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.7314, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.39338, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.98581, 0.40615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.45961, 0.40751 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.59066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.60301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.63042, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.67389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.73297, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.80552, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.88669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.96754, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.03428, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.06845, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.04849, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.95251, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.76182, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.46503, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.06256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.57115, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.02783, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04538, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.78539, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.81629, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.23323, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.10466, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.45633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.26267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.44934, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.90669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.50927, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.13499, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.67867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.05814, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.21407, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.10659, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.71234, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.02427, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.05491, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.84098, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.44648, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.96099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.49129, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.14687, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.02276, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.18542, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.66586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.46089, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.5401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.85529, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.3498, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.9663, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.65233, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.36346, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.06356, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.72281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.31386, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.80766, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.17027, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.36215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.34089, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.0678, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.51726, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.68485, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.58924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.26574, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09951, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32985, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47437, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55553, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59237, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59691, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59046, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.59066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19598, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.21042, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.23249, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.26353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.30421, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.35522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.41633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.48442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.55144, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.60335, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.62039, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.57863, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.4525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.21892, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.86338, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.38809, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82101, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22307, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.69076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.3511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.34738, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.81588, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.8569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.50815, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.73116, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.41802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.41662, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.56359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.71231, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.74829, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.59087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.18507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.48979, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.46933, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.09279, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.34226, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.22599, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.79066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.12693, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.3645, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.65474, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.14387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.94567, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.12405, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.69013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61104, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.82401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.2511, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.81172, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.43176, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.04887, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.6133, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.08498, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.42842, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.60857, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.59066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.34528, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.8568, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12951, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18646, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.06101, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78613, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38748, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.88205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.28066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.59135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.82218, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.98276, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08499, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14292, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17167, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18554, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19598, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.3974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.39697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.39877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.40246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.40735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.41485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.42842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.45133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.48359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.51952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.54627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.54304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.48109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.32615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.04541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.42156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.39561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.93384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.17104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.15336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.81988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.01782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.54541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.20175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.8235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.29958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.56566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.58539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.32798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.75203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.80288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.42495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.58383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.28853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.66362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.63681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.71959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.0847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.84921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.05914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.68542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.93568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.33987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.79986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.23359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.5774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.78237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.80849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.62163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.5286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.3439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.6775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.78126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.23486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.6112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.90636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.12178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.26441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.34655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.3974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.98815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.95296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.91089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.86109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.8083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.76089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.72717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.71187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.71273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.71668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.69564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.60569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.3942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.01767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.12449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.65126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.61301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.24354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.71121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.06389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.20763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.93524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.99079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.13693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.19802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.71672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.12087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.27148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.13044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.62894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.68174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.21516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.19708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.65758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.69686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.48176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.22617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.15173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.43902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.19107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.07485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.0394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.19036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.40738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.59101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.66656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.57907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.28575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.96931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.94496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.72735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.38458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.98496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.57613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.33322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.83884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.26568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.60298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.84793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -64.00453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.08384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.10408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.84099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.75798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.66411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.55299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.4273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.29774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.1792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.08655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.02963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.00566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.98991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.9302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.31778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.77509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.74027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.49652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.23974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.0106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.67438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.96588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.5753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.22964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.73924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.0062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.00436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.74288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.22674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.42807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.27787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.67983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.53995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.45839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.58353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.31037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.83721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.40199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.23503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.50375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.2766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.13256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.97134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.90192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.81358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.62521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.27683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.91579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.85144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.55222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.08621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.54604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.01766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.55208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.15362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.7883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.40538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.95915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.42056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.77662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.0242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.16615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.21264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.18384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.1083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.12045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.94584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.7944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.65557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.50995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.34238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.1498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.94167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.73644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.55704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.42443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.34626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.30155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.23038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.04129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.68353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.68245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.60742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.66956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.89399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.10572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.98912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.18782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.39355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.3942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.08108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.42722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.44911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.16449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.5607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.58341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.14781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.16513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.57287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.35623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.55697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.27713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.68324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.00069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.48031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.33762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.69371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.55168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.35106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.00885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.67766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.27485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -60.99885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.01356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.75719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.26035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.6105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.92684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.31688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.83733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.47894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.86425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.46431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.94562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.29721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.51928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.61538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.59501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.48068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.30885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.12045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.94622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.70592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.50327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.30926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.09701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.58487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.30835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.05248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.84664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.70641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.61258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.49696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.25202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.08958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.45976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.54013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.67427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.07175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.73932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.47583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.93666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.73352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.52278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.19202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.88099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.13028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.96406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.39004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.38442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.89697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.86948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.2564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.24262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.93522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.25484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.40816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.64858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.21674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.26864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.83443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.83251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.50797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.85759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.02882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.94953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.5821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.95707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.1802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.40037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.75143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.2986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.01774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.8167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.58368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.23288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.72371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.05043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.21972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.23742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.11285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.87159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.56057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.28685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.84723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.49742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.22448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.98897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.74942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.48044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.17859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.86027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.55604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.30046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.11279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.97184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.80048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.48008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.97333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.97167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.38365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.60271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.96566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.66504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.69597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.85789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.80905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.14933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.50044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.5626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.14064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.14158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.55002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.3922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.70223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.50163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.79429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.57072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.81422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.65253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.28597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.51842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.54362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.61839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.99922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.86088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.24537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.07367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.20627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.50831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.88204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.25845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.56782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.72078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.62218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.21478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.52501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.67538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.84605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.20074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.81554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.65059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.45179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.16021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.65841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.94755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.04268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.95323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.68906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.28011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.78669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.28685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.30229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.21835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.87532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.61136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.36813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.10407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.80501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.48332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.17065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.90397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.70205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.53811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.32689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.94623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.29555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.2927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.65503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.11293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.70517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.12719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.21168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.03849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.45285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.72501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.46539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.26699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.77121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.71591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.95328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.43779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.19552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.29019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.79617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.78031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.28831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.33485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.9692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.53475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.68229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.59647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.54331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.79689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.54517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.83165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.56996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.61476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.83524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.14724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.49583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.8149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.00333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.94356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.55717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.8634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.99811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.17093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.57537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.29928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.28745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.38316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.17036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.68712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.9409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.95531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.74401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.3183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.71403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -27.00764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.30229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.47948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.69692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.10862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.70895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.43862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.2215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.99752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.73962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.4551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.17605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.94028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.76363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.38716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.60158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.99583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.65059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.52196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.30376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.54851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.92434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.17428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.15661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.86047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.40776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.95154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.85894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.89504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.65214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.80528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.15273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.61724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.22094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.05183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.23194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.88671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.11401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.95833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.39929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.99806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.82975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.68405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.85295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.53606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.47214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.4727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.64769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.92643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.27051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.62203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.87368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.8902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.57405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.9353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.1175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.35227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.85697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.72927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.90136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.18069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.34703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.24271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.80715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.05087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.00391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.68382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.10434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.30852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.39026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.47948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.20148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.2868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.61468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.18744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.06008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.21993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.37082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.55386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.76781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.9808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.15475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.2765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.38271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.55997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.90937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.48589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.24321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.01426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.53751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.51436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.67092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.8015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.78728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.60131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.3174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.12657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.6571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.62723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.35726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.76984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.10566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.50245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.05722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.92228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.26736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.23425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.89536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.23785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.19021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.68946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.76129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.56861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.39064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.5295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.19147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.41619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.09771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.07395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.21703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.46765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.8038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.18016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.49176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.59556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.38172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.85114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.14668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.50787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.16265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.21331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.58497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.41679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.45709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.1164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.40248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.34711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.97025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.28862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.35276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.27244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.20148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.01717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.9894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.69006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.10624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.30317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.3832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.44032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.52902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.65515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.78848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.89089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.94952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.99841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.11299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.37267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.80673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.35225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.84741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.06282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.75321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.70434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.75834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.81833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.84948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.89347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.09583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.72326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.14346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.23948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.0674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.0883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.17556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.31836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.60278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.18759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.26627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.01193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.52199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.79164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.73885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.27844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.41251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.28636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.16876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.35602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.05116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.29244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.97349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.93252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.04444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.25786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.56389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.93249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.27145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.44445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.34108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.95543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.41986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.96296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.8047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.04433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.60753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.82409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.04168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.8521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.25329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.2721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.92798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.24025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.73482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.87708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.01717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.66645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.60263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.26724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.63504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.76415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.75843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.72041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.7149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.75541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.81538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.85743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.86615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.86677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.91682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.07107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.64318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.84455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.74991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.16674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.9345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.9376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.10342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.40298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.86759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.6166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.87393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.95132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.19486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.91788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.35202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.3706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.21633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.24503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.59937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.47311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.05328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.68814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.67145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.31171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.40643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.36166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.31266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.98821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.20016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.91094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.21772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.27188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.19211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.02585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.77475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.45416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.13492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.93178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.94197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.17363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.51309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.76034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.7212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.30721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.5851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.03053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.61929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.61001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.02051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.83556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.04007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.61402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.49932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.57429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.66645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.38509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.76327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.0536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.11035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.02929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.91249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.82988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.80195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.8079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.81248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.79626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.77173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.77507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.83654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.03065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.96518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.59536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.77443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.3866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.3535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.63039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.20724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.48631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.48455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.36681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.40267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.85446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.57868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.05809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.08144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.34031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.85866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.28218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.22909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.44198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.94593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.64783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.34777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.81522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.88621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.52362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.80793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.87124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.82163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.70516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.52255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.2782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.01856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.82737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.77826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.87622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.02943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.07625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.85896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.30512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.47022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.65595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.05797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.82743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.9998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.57569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.54772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.89795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.57147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.45468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.38509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.02653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.06124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.2533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.24109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.1043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.9353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.80243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.73074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.7061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.69718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.68096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.6566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.63918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.63684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.53454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.25668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.66885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.66064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.15197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.09717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.48161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.32176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.67356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.64261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.38427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.08678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.9425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.12173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.75989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.95455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.75944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.16904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.10557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.42946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.64679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.3869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.24558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.29308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.55619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.96949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.38017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.60598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.51247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.06406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.32151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.39264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.37121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.30205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.18883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.0299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.84994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.70056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.62793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.62988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.63418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.51751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.16004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.50702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.60305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.61221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.85389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.41008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.33104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.63312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.31796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.37188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.7473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.34615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.02653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.24042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.3193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.24352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.07199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.87974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.72636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.63722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.60391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.60005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.60096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.59485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.57887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.45284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.24054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.81319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.07169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.93292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.34461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.28918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.78082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.86295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.60895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.12223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.52959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.96635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.55915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.4155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.62345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.25416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.35604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.93745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.9497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.28948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.82975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.46713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.15868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.92449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.81242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.84479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.97897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.10671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.09382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.83699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.30455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.53885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.62248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.63233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.60996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.56246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.48583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.38844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.29475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.22568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.17032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.83629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.37933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.66202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.7209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.62249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.74018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.11425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.80381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.83704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.22335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.95402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.9909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.25528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.3627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.50378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.4603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.32522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.13585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.94535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.79845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.7157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.69152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.70418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.72926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.74785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.69562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.56004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.27235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.75089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.91384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.69812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.0728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.0432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.64746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.95038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.03723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.0066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.96043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.99275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.18163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.58895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.26672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.26221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.61325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.3326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.39173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.71872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.80534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.43558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.11035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.85595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.68704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.57732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.45572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.23076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.82909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.22552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.44771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.55495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.6061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.63634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.65407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.65431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.63447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.54898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.46541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.30039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.98647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.46284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.70593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.74782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.6727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.6267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.86178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.36091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.15853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.26898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.68799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.38706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.30737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.3627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.11593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.94855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.75665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.55857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.38492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.26242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.20242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.19849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.23172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.3246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.26903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.10534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.77102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.19322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.30298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.0522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.42622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.44761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.17122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.67462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.04722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.37946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.75283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.23241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.86495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.68364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.71659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.99234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.53655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.35999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.44551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.74446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.7111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.2709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.8568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.47801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.14131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.83119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.50501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.1062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.58795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.93313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.15902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.30511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.41241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.50689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.59493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.66992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.72195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.74188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.71688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.62196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.41603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.04929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.48112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.70059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.73852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.55728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.70001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.05893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.6695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.54809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.69392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.08745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.68816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.3537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.82118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.61303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.3605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.49744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.50319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.43409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.24365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.87287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.25652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.33616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.07566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.47285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.56197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.40698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.08949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.69596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.30645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.98638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.78241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.72373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.82807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.10959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.58358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.2645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.15797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.2518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.34105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.8228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.32042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.83194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.35822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.89068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.40697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.8769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.27511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.59253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.83976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.04053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.21956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.39187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.55866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.71004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.83036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.90146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.90162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.8025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.56879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.16459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.56567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.77247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.81699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.75968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.01756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.49613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.19869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.12721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.28907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.33914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.39422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.42968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.41699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.32046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.09453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.68428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.03173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.08794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.82727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.25729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.41934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.38001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.21817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.01245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.8316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.72868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.73934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.88414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.1739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.61566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.21619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.98119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.91072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.99388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.88289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.28076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.69056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.10497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.52166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.93668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.34112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.72284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.07189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.38574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.67085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.93922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.20187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.46276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.71591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.94637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.13311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.25162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.27488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.17368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.91879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.48654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.86695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.07111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.13358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.10844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.06038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.37963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.27935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.17283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.12895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.12981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.15482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.1812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.18364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.13268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 72.99233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.7184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.25995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.56572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.59564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.33369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.7954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.02595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.09021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.06008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.00384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.97904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.18254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.45628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.85852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.39315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.06214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.86543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.79891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.85185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.2372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.51983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.83149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.15658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.48687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.81944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.15345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.48794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.82146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.15337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.48518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.8206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.16343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.51432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.86757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.20965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.51962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.77103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.93442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.97965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.87858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.60873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.52941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.74375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.83847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.86294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.87148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.74122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.25019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.78512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.44863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.20474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.03987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.93785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.88025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.84653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.81406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.75728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.64627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.44489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.11004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.59383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.85057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.84815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.57933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.0665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.35673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.51074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.59154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.65627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.75185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.91337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.16464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.51997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.98672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.56767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.26257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.06855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.97957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.42152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.65013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.89824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.15937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.43153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.71586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 71.01515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.33284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.67236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.03665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.42721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.84255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.27638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.71601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.14162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.52672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.83982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.04726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.11694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.02276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.74924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.29516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.67506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.91795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.06348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.15684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.55666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.24798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.77851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.4427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.24312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.25019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 70.99861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.85732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.43711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.10438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.84669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.64944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.36764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.24318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.09798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.90254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.62106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.21118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.62695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.82679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.78534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.50354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.00988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.3522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.58582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.76407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.93304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.12961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.38137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.70748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.12007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.62574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.22694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.92296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.71049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.62775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.74761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.9029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.08653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.29465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.52664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.7845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.07192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.39326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.75244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.15182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.59095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.06533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.56502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.07363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.56778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.01736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.38715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.64007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.74226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.66938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.41206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.97833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.39205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.68819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.09003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.49402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.77478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.13746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.59683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.16287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.84183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.63734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.55111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58345, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57289.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56131.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54969.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52652.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51499.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50343.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49173.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46724.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45410.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44017.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42541.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40985.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39363.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37698.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36025.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32814.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31364.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30072.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28966.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28061.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27354.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26826.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26445, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26169.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25783.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25615, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25445.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25276.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25123.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25011.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25062.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25317.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26516.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27529.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28838.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30437.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32304.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36693, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39120.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41636.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44192.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49251.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51681.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54001, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56179.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58186.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59993.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61574.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62910.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65367.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65684.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65344.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64866.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64240.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63484.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62619, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61663, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60635.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59553.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56274, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55074.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53866.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52658.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49090.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47919.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46745.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44320.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43028.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41662.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40211, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38674, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37061.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33708, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32043.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30453.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26646.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25823.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25237.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24862.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24651.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24552.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24511.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24367.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24263.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24018.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23936.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23941.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24091.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24451.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25082.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26029.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27316.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28944, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33098, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40749.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43424.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48634.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51090.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53407.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55556.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57510.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59244.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62931.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63633.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64084.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64297.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64292.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64088.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63703.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61642.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60712, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58598, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57453.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56274, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53928.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51468.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50237.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49016.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47808.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46617.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45441.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44273.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43098.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41900.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40657.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39353.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37974, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36513.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34974.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33373.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31738.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28556.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27129, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25895.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24186.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23736.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23519.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23551.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23671.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23882.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23801.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23718.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23674.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23730.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23963.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24454.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25272.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26462.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29972.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32222, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34714.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40102.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42838.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45513.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48077.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52742.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54792.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56622.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58211.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59543, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60610.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61416, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61972.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62296.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62323.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62057.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61626, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60315.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59463.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58500.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57445.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55139.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53928.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51425.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50195.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48963.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47735.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46515.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45308.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44119.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42950, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41797.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40652.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39501.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38327.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37113.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35844.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34507.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33096.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31618.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30094.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28565.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27091.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25742.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24591.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23698.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23094.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22776, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22702.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22808.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23019.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23273.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23524.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23747.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24072.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24162.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24194.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24170, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24656, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27751.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29582.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34237.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36891.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39631.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42364.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45013.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51979.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53878.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55531.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58039.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58894, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59502.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59889.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59945.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59184.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58585.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56994.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54964.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53829.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52642.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51425.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47575, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45171.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43979.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42798.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41633.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40489.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39369.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38269.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37180.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36093.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34991.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31435, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30122.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28754.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27367.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26021.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24790.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23752.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22970, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22478.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22835.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23190.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24238.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24553.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25050, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25192.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25305.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25603.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26065, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26864, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28063.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29684.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31697.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36586, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39245.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44466, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46871.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49076.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51050, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52768.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54211.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56847.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57234.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57440.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57499.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57228.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56898.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56433.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55835.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55109.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53312.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52266.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51147.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46021.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44868.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41448.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40324.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39214.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38125.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37064.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36032.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35027.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34044.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33072.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32094.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31089, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30032.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28911.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27731.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24258.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23351.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22683.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22165.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22274.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22930, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23359.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23812.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24283.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25754.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26180.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26512.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26730.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26854.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26938.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27073.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27366.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28844.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30172.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31912.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34007.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36360.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41349, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43764.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46020, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48066.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52617.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54140, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54496.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54658.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54686.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54621.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54475.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54239.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53895.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53428.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52837.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52127.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51307.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49377.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47171.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46021.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42138.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41079.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40031.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38991.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37960.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36942.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35947, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34980.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34049.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31469.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30655.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29832.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28056.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27082.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26073.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24165.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23396.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22831.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22424, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22558.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22859, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23271.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23754.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24285.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24861.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25485.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26805.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27926.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28650.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28904.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29243.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29873, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30874.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32281.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36130.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38363.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42841.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44902.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46763.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49711.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50723.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51402.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51772.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51893, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51717, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51544.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51338.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51074.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50720.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50253.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49669.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48977.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48188.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45339.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44282.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40450.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39492.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38552.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37628.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36715.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35813.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34064.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33232.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30308.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29665.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28364.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27655.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26894.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26096.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25298.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23906.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23418.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23123.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23035.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23146, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23839.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24349.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24936.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27073.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29701.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30206, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30291.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30366, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30534.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30914.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31610.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32681, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34120.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35858.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39766.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41711.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46610, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47754, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48575.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49223.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48423.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48166.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47875.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46455.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45024.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44199.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42380.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41418.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40450.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37899.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37083.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36291, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35517.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34759.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34016.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32599.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31939, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30737.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29703.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29237.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28782.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27256.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26660.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26044.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25441.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24896, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24450, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24141.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23998.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24034.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24244.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24612, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25713.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26401.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27157.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27957.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28768.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30223.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30771.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31392.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31535.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31601.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31807.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32265.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33049.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34171.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37170.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40493.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42059, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44701.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45666.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46324.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46651, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46674.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46472.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46150, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45800.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45473.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44444, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43955.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43370.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42707.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41985.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41216.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40411, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39578.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38735.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37899.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35737.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35084.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34458.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33854.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33268.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32702.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32165.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31662.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31199.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30776.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30392.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29734.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29177.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28896.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28583, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28220.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27801.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27335.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26842.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26355.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25912.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25585, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26014.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26577.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27238.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27968.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28736, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30916.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31473.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31895.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32171.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32315.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32368.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32532.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32849.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33431.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34299.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35412.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36692.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38051.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39409.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40706.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42914.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43712, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44452.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44392, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44123.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43744.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43339.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42586.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42201.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41757.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41232.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40629.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39970, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39276, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38563.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35737.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34120, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33640.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33190, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32349.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31619.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31319.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31066.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30857.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30684.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30423.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30324.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30232.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30128.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29988.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29785.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29505.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29144.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28716.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28248.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27333.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26971.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26735, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26664.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27086.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27544.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28115.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28760.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29441.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30128.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30793.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32689.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32889.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33083.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33219.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33495.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34667.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35550.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36564.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37644.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39780.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40744.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41577.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42784.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42691.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42409.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41577.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41133.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40685.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40211.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39684.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39095.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38453.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37781.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37104, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36439.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35801.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35198.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34637.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34120, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33143.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32830.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32547.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32284, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32041.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31832.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31671.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31534.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31578.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31644.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31725.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31899.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31961.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31969.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31893.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31410.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31004.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30517.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29983.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29445.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28951.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28556.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28313.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28256.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28393.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28698.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30212.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30794, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31926.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32434.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32873.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33227.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33494.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33694.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33871.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34088.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34405.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34859.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35459.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36181.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36990.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37844.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38708.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40324.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40995.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41841.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41860.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41595.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41208.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40743.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40229.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39675.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39076.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37743.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37032.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35640.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35005.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34433.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33933.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33505.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33143.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32514.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32399.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32309.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32260.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32272.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32515.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32732.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32987.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33262.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33542.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33817.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34074, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34286.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34422.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34443.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34323, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33633.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33100.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32489.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31846, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31224, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30682.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30279.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30054.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30019.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30158.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30433.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30806.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31244, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31724.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32228.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33684.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34081, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34419.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34718.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35011.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35341.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35741.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37409.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38074.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38765.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39465.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40151.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40791, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41345.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41775.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42048.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42145.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41829, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41449.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40951.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40352.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39669.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38919.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38121.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37301.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36487.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35708.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34989.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34353.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33816.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33386.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33062.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33128.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33053.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33028.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33080, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33175.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33344.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33601.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33943.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34353.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35749.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36202.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36618.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36968.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37213.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37234.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36968.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36525.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35934.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35239.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34493.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33756.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33092, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32558.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32195.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32015, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32369.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32693.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33535.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34020.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34513.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34988.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35833.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36220.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37056.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37542.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38071.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38628.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39198.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39777.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40367.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40965.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41559.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42120.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42612, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42998.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43252.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43356.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43302, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43085.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42705.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42163.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41470.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40649.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36843.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35961.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35172.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33955.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33553, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33284.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33128.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33993.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33970.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34020.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34124.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34281.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34506.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34818.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35736.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36317.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36945.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38231.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38843.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39401.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39871.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40373.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40068, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39597.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38951.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38179.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37344, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36511.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35751, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34653.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34363, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34234.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34243.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34369.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34597.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34920.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35326, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35793.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36291.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36788.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37264.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37719.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38171.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38645.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39703.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40269, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40833.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41384.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41927.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43592.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44131.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44613.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45003, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45177.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44788.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44199.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42465.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40259.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38029, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36138.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34806.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34384, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34120.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33993.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35357.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35617.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35869.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36651.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37200.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37848.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38572.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39343.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40131.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40907.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41645, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42314.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43290.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43508.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43496.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43241.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42755.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42071.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41244.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40341.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39438, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38605.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37901.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37358.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36985.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36718.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36868.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37128.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37492, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37936.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38429.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38934.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39429.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39913.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40399.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40909.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41453.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42028, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42612.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43188.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43747.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44296.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46002.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46568.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47514.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47827.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47999.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48005.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47821.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47421.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46790.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44878.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43680.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42406.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39900.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38775.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37784.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36951.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36292.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35815.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37225.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37190.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38270.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38824.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39489.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40251.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41085.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41961.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42848, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43715.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45276, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45897.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46609.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46622.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46380.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45893.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45195.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43401.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41572.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40813.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39763.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39264.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39541.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39854.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40725.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41707.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42193, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42684, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43197.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44906.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46675.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47910.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48550.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49178.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49757.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50250.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50621.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50841.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50880.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50710, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49643.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47618.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46340.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44975.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43598.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42274.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41055, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39060.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38324.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37776.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37225.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39526.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39457.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39547.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40165.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40678, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42067.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42908.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43813.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44749.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45686.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46594.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47446.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48208.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48845, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49314.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49600, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49370.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48205.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47354.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46410.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45448.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43739.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43078.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42198.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41960.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41845.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41853.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41984.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42232.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42577.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42991.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43441.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44366.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44839.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45333.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46423, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47014, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47627.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48260.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48918.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49604.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51042.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51751.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52406.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52967.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53397.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53662.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53730.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53572.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53164.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52495.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51574.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50435.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49133, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47738.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46326, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44960.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43694.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41594.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40800.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40190.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39767.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39526.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42221.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42121.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42441.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42844.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43395.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44077.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44869.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45743.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46669.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47615.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48550.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50277.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51012.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52059.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52301.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51637.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50975, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48288.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47376.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46550.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45271.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44831.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44518.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44262.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44317.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44486.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44753.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45093, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45478.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45887.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46752, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47219.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47725.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50209.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50943.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51719.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53339.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54128.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54854.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55475.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56251.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56341, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56195, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55795.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55138.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54237.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53125.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51858.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49119.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47778.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46526.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44419.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43604.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42963.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42501.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42221.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45382.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45777.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46321.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46994.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47770.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48619.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49509, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50408.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51288.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52122.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52883.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53546.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54083.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54463.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54660.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53994.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53373.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52604.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51738.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49945, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49118.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48385.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47765.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47263.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46882.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46619.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46475.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46447.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46528.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46705.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46957.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47263.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47608.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47982, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48828.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49320.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49870, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50484.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51165.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53571.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54455.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55339.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56189, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56963.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57622.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58128.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58446.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58550.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58042.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54362.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53101.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51818.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50566.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49390.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48323.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47387.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46598.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45967.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45502.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48196.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48237.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48437.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49279.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50584.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51345.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52139.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52937.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53710.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55089, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55647, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56086.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56385.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56521.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56479.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55847.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55280.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54581.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52957.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52121.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50593.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49951.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49410.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48434.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48325.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48404, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48566.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48792.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49069.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49393.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49763.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50187.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50673.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51864.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52577, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53365.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54218.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55120.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56045.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56963.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57836.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58625.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59292.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59802.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60126.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60240.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60131.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59240.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57568.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56528.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55417, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54284, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53175.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51173.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49612.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48597.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51307.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51189.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51206.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51358.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51637.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52031.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52523.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53092.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53713, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54360.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55008.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55634.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56732.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57164, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57492.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57699.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57475.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57105.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56603.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55991.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54559.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53806.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53071.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52380.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51753.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51205.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50379.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50109.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49935.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49860.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49944.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50099.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50318, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50598.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51350.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52396, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53040.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53765.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54565.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56328.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57245.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58146.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58995.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59758.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60400.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60891.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61208.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61333, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60983.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59893.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59127.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58262.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57337.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56392.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55464.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53775.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53057.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52441.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51559.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51307.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53922.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53791.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53880.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54339.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54688.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55096.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55544.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56014, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56485, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56938.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57356.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57722.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58020.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58235.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58355.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58058.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57733.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57307.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56794.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56214.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54948, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54308.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53694.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53123.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52608.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52161.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51789.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51497.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51287.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51159.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51111.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51141, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51244.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51419.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51665.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51984.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52849.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53400.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54029.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54733, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55501, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56318.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59625.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60320.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60905.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61357.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61794.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61764, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61569.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61223.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60743.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59484.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58765.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58026.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57296.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54461.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54142.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53922.5, 145 + 500);
}
